System and method for sharing gameplay experiences

ABSTRACT

A method of sharing gameplay experiences between users included in a system ( 200, 520 ) is provided, wherein the users are arranged to employ gameplay terminals which include computing hardware for executing one or more software products recorded on machine-readable data storage media. The method includes including in the one or more software products a host game software application for implementing one or more games on one or more of the terminals; and appending one or more software components to the host game software application for providing control of the host game software application on a real-time basis for recording gameplay experiences for sharing amongst the users based upon one or more of: game view, sub-game view, sensor data employed to control the game, video camera views of one or more users playing the game, game events occurring during playing the game.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/690,906 filed on Nov. 30, 2012, entitled System and Method forSharing Gameplay Experiences.

FIELD

The aspects of the present disclosure relate to systems for sharinggameplay experiences. Moreover, the aspects of the present disclosurealso relate to methods of software and operating system for enablinggameplay experiences to be shared. Furthermore, the aspects of thepresent disclosure relate to software development tools, for example asoftware development kit (SDK), for developing software productsrecorded on machine-readable data storage media, wherein the softwareproducts are executable upon computing hardware for implementingaforesaid methods.

BACKGROUND

It is has been appreciated for a long time that sharing game-playingexperiences, namely “gameplay experiences”, with people within a socialenvironment can be beneficial, for example as occurs for contemporaryspectator sports such as football, cricket and similar. It has similarlyalso been appreciated that sharing gameplay experiences based onelectronic games can also be beneficial for a group of people in mutualcommunication via an electronic communication network. However, it hasbeen difficult to provide an optimal form of gameplay experienceelectronically on account of a lack of compatible user software, suchthat electronic user gameplay experiences have so far beendisappointing.

For example, contemporary sharing of gameplay experiences can occur viaservices provided via the Internet, for example as provided via anservice called Twitch offer by Justin.tv Inc located in San Francisco,Calif., USA. Referring to FIG. 1, an example known service offers gamersan opportunity to share their live gameplay via the Internet as one ormore web pages 100. A game that is being played is presented on a screen102 as a form of video presentation. The video presentation beneficiallyincludes a video of a given player 104 whilst he/she is playing thegame. The game and the video of the given player 104 are generated at asending end, for example wherein the sending end is implemented using apersonal computer (PC) or lap-top, and wherein the video is captured viaa web-camera coupled to the aforesaid PC or lap-top, to a plurality ofspectators; when viewed by the plurality of spectators, the game appearson their screens together with an overlaid window including a videoimage of the given player 104. The service in FIG. 1 is beneficiallyimplemented by way of the given player 104 having a software productinstalled on his/her PC or lap-top that streams the video of the givenplayer 104 to a server 110 from which the game and the video of thegiven player 104 are thereafter streamed to the plurality of spectators.Beneficially, the service includes social network components such as a“share” button 112, a “real-time chat” button 108, and so forth.Moreover, the service is also operable to record playing performances ofthe given player 104, as well as providing comparisons of performance ofother users of the service. The service is beneficially funded viaadvertising, wherein the plurality of spectators are presented variousadvertisements intermingled with streaming of the given player 104executing gameplay using the service.

A problem encountered with the service of FIG. 1 is that the pluralityof spectators are obliged to view the gameplay experience of the givenplayer 104 as streamed from the server 110. However, for a first sub-setof the spectators, certain portions of the streamed gameplay experiencemay not be of interest to them, for example the sub-set of spectatorsare busy people and are merely interested in experiencing performancehighlights of the given user 104. Moreover, a second sub-set of thespectators may be desirous to experience the gameplay of the givenplayer 104 in a different format to that which is contemporarilystreamed from the server 110. Additionally game sharing can be done onlyif a player installs special recording software in the computer thuslimiting amount of person having capability to share the gameexperience. Additionally in a solutions where the game sharing isintegrated to playback can be done only in a game engine of the samegame not as a video.

SUMMARY

In one embodiment, the aspects of the present disclosure provide asystem for sharing gameplay experiences in a reconfigurable manner.

Moreover, in another embodiment, the aspects of the present disclosureprovide a method of sharing gameplay experiences via communicationnetworks and computing hardware operable to execute software productsrecorded on machine-readable data storage media.

Furthermore, in another embodiment, the aspects of the presentdisclosure provide software development kits (SDK) for developingsoftware products for implementing aforesaid methods.

According to a first aspect of the present disclosure there is provideda system for sharing gameplay experiences between users, wherein thesystem includes gameplay terminals which the users employ for gameplayactivities, wherein the gameplay terminals include computing hardwarefor executing one or more software products recorded on machine-readabledata storage media, wherein the one or more software products include ahost game software application for implementing one or more games on oneor more of the terminals, and one or more software components forappending to the host game software application for providing control ofthe host game software application on a real-time basis for recordinggameplay experiences for sharing amongst the users based upon one ormore of: game view, sub-game view, sensor data employed to control thegame, video camera views of one or more users playing the game, gameevents occurring during playing the game.

The aspects of the present disclosure advantageously provide one or moresoftware components that enable standard games to be adapted to becapable of providing gameplay sharing functionality which isindividually reconfigurable for spectator users.

Optionally, in the system, the one or more software components areoperable to cause the gameplay terminals to communicate the gameplayexperiences via a communication network to a gameplay sharing experienceservice server arrangement through which the gameplay sharing experienceis communicated from an originating gameplay terminal to one or morerecipient gameplay terminals.

More optionally, in the system, the gameplay terminals are implementedas wireless-enabled computing devices including one or more of: smarttelephones, laptop computer, personal computers, Pad computers,dedicated game playing terminals.

Optionally, in the system, the one or more software components areimplemented as a software development kit (SDK) which includes a libraryof the software components.

Optionally, in the system, the one or more software components areoperable to enable separate individual streams to be recorded pertainingto one of more of: UserFace Video, Game Video, Mix Sound, Game Sound,Game Control, Game Stat statistics, User Interface (UI) Data, GameEvents.

More optionally, in the system, one or more software components areimplemented as a downloadable application software library. Moreoptionally, in the system, one or more software components areimplemented via an OpenGL API.

Optionally, in the system, the one or more software components areoperable to enable the gameplay experience when replayed at one or moreof the terminals to be user-configurable by selecting amongst one ormore streams of recorded elements stored in data memory when thegameplay experience was recorded prior to distribution within thesystem.

According to a second aspect of the present disclosure, there isprovided a software development kit (SDK) recorded on machine-readabledata storage media, wherein the software development kit includes alibrary comprising one or more software components which are susceptibleto being incorporated into host game software for implementing a systempursuant to the first aspect of the present disclosure.

According to a third aspect of the present disclosure, there is provideda method of sharing gameplay experiences between users included in asystem, wherein the users are arranged to employ gameplay terminalswhich including computing hardware for executing one or more softwareproducts recorded on machine-readable data storage media, wherein themethod includes:

(a) including in the one or more software products a host game softwareapplication for implementing one or more games on one or more of theterminals; and(b) appending one or more software components to the host game softwareapplication for providing control of the host game software applicationon a real-time basis for recording gameplay experiences for sharingamongst the users based upon one or more of: game view, sub-game view,sensor data employed to control the game, video camera views of one ormore users playing the game, game events occurring during playing thegame.

Optionally, the method includes arranging for the one or more softwarecomponents to be operable to cause the gameplay terminals to communicatethe gameplay experiences via a communication network to a gameplaysharing experience service server arrangement through which the gameplaysharing experience is communicated from an originating gameplay terminalto one or more recipient gameplay terminals.

More optionally, in the method, the gameplay terminals are implementedas wireless-enabled computing devices including one or more of: smarttelephones, laptop computer, personal computers, Pad computers,dedicated game playing terminals.

Optionally, in the method, the one or more software components areimplemented as a software development kit (SDK) which includes a libraryof the components.

Optionally, in the method, the one or more software components areoperable to enable separate individual streams to be recorded pertainingto one of more of: UserFace Video, Game Video, Mix Sound, Game Sound,Game Control, Game Stat statistics, User Interface (UI) Data, GameEvents.

Optionally, in the method, one or more software components areimplemented as a downloadable application software library. Moreoptionally, in the method, one or more software components areimplemented via an OpenGL API.

Optionally, in the method, the one or more software components areoperable to enable the gameplay experience when replayed at one or moreof the terminals to be user-configurable by selecting amongst one ormore streams of recorded elements stored in data memory when thegameplay experience was recorded prior to distribution within thesystem.

According to a fourth aspect of the present disclosure, there isprovided a software product (GESW) recorded on machine-readable datastorage media, wherein the software product is executable upon computinghardware for implementing a method pursuant to the third aspect of thepresent disclosure.

It will be appreciated that features of the aspects of the disclosedembodiments are susceptible to being combined in various combinationswithout departing from the scope of the invention as defined by theappended claims.

DESCRIPTION OF THE DIAGRAMS

Embodiments of the aspects of the present disclosure will now bedescribed, by way of example only, with reference to the followingdiagrams wherein:

FIG. 1 is an illustration of a known gameplay experience sharingservice;

FIG. 2 is an illustration of a device for use in generating or replayinga gameplay experience pursuant to the aspects of the present disclosure;

FIG. 3 is an illustration of a process for capturing graphics elementsas employed in embodiments of the aspects of the present disclosure;

FIG. 4 is an illustration of display elements which are presented to agiven user when executing gameplay on the device of FIG. 2;

FIG. 5 is an illustration of a system for sharing gameplay experiencespursuant to the aspects of the present disclosure;

FIG. 6 is an example of steps of a process for sharing gameplayexperiences pursuant to the aspects of the present disclosure; and

FIG. 7 is an example of a screen presentation provided to users whenreplaying gameplay experiences generated within the system of FIG. 5.

In the accompanying diagrams, an underlined number is employed torepresent an item over which the underlined number is positioned or anitem to which the underlined number is adjacent. A non-underlined numberrelates to an item identified by a line linking the non-underlinednumber to the item. When a number is non-underlined and accompanied byan associated arrow, the non-underlined number is used to identify ageneral item at which the arrow is pointing.

DESCRIPTION OF THE EMBODIMENTS OF THE PRESENT DISCLOSURE

In overview, the aspects of the present disclosure are concerned with asoftware development kit (SDK) which enables software developers toembed within games software one or more software products which providefor recording, sharing and replaying gameplay experiences via a softwaremodule, referred to a “GESW” module, in a reconfigurable manner to suitindividual user viewing preferences. The GESW module is beneficiallyconfigurable to record a given game as one stream and a camera view of agiven player of the given game as another stream, wherein the cameraview is of a front or rear of the given player, and wherein the cameraview is captured by a device such as a camera-equipped smart phone;beneficially the camera-equipped smart phone has a touch screen for thegiven player to enter gameplay instructions. Moreover, the smart phonebeneficially includes accelerometers and movement sensors for sensingactions of the given player. The smart phone is additionally operable tosend recorded gameplay actions of the given player to a remote server,for example via a wireless communication network and/or via theInternet. The recorded gameplay actions can be distributed from theserver to one or more spectators, for example within a social mediaenvironment. Moreover, the GESW module, which is embedded into gamessoftware, enables games users to replay other games users' experiencespertaining to one or more games. Furthermore, the GESW module isbeneficially implemented as a software application interface (API) fordisplaying gameplay experiences to a given user at suitable timeswithout the given user having to leave a given game to use a third-partysupplied software product to watch such gameplay experiences.

A “mobile telephone” in Europe refers to a “cell phone” in the USA,wherein a smart phone is an advanced form of cell phone withconsiderable computing power and an advanced graphical user interface.

By including the software development kits (SDK) as a part of a gameplayexperience, a given software developer can provide a user with aseamless, easy-to-use experience for recording, sharing and replayinggameplay experiences. Moreover, the SDK can enable the user to controlwhich elements of the gameplay are shared by adding, changing orremoving recorded contents, namely providing a form of editing function,thereby enabling only a certain portion of recorded gameplay experiencesto the replayed to other users, or by annotating such gameplayexperiences with text, audio or video recordings or graphical elementssuch as drawings to make them more interesting or entertaining to otherusers.

Referring next to FIG. 2, there is shown a general architecture of aportable wireless-enabled computing device 200, for example a tabletcomputer, smart telephone or similar. The device 200 includes a centralprocessing unit (CPU) 210, which is operable to execute games software.Moreover, a graphics processor unit (GPU) 220 is coupled to the centralprocessing unit (CPU) 210, and is operable to handle graphics associatedwith a game provided via executing of the games software. A display 230is coupled to the graphics processor unit (GPU) 220 and is operable toprovide a graphical representation of the game to a given user of thedevice 200. The device 200 further includes a touch input sensor 250, acamera 260, and other sensors 270 which are coupled to the centralprocessor unit (CPU) 220 to provide sensor signals thereto.Additionally, the device 200 includes a data memory 280 provided with ahardware-based encoder/decoder (CODEC) 290, and finally a wirelessinterface (RX/TX) 300.

The device 200 is operable to execute a GESW software product on itscentral processor unit 210, wherein “GESW” is an abbreviation for “gameexperience recording software”. In practice, the GESW software productincludes a library of software components. A developer of game softwareis capable of using the library of software components as an integralpart of a software game being developed or amended, namely game softwaretogether with one or more software components from the library are, oncompletion, compiled into a monolithic piece of software fordistribution to users; there is thereby provided a host applicationwhich includes integrally therein recording, sharing and playbackfunctionalities. The host application, namely a game when executed uponcomputing hardware, is arranged to be executed upon the aforesaidcentral processor unit 210.

The GESW software product provides technical effect, when executed, tocapture, namely to take a “snap shot”, of information content in thegraphics processor unit (GPU) 220 in cooperation with the centralprocessor unit 210, namely to capture images as presented in the display230, namely screenshots. Optionally, the captured images are sent to theencoder/decoder 290 to compress the captured images and to create a gamevideo which is stored in the data memory 280. Beneficial, the gamesoftware can control the API to capture images to the game video thatdiffer from the image presented on the display 230; for example, toenhance a viewing experience of other users sharing the gameplayexperience, certain graphic elements presented on the display 230 areexcluded from the game video, for example various user control optionswhich are only of interest to a user actually playing the game, but notof interest to spectators.

When the device 200 includes its camera 260 on a front side thereoftogether within the display 230, images captured by the camera 260, whenthe user plays the game on the device 200, are sent via theencoder/decoder 290 to the data memory 280; optionally, the imagescaptured by the camera 260 are also shown to the user, for example in aminiature thumbnail window of the display 230, whilst the user isplaying the game on the device 200. When the device 200 is a relativelyolder model with only a camera on its rear surface, the game can beplayed by the user in front of a mirror, such that the user can play thegame whilst the rear camera is capturing a view of the user reflected inthe mirror, wherein the signal provided from the rear camera isoptionally subject to a mirror-image transform before being recorded inthe data memory 280.

Optionally, the games software is capable of also configuring the GESWto record gestures, namely user interface data (UI data) entered via atouch screen when employed for implementing the display 230, as well asvia the other sensors 270, for example one or more of: accelerometers,magnetometers, location sensors, temperature sensors, and so forth.Moreover, the game software is also capable of configuring the GESW torecord sound from a microphone of the device 200, for example cries ofexhortation and exhilaration. Furthermore, the GESW is also capable ofconfiguring the games software to record in one or more separate audiostreams sounds generated when the game is played, for example impactnoise, explosions, beeps and such like; the audio stream is beneficiallyalso stored in the data memory 280 as game sound.

The GESW can also be configured to record special events, for exampleexciting events, for example attaining a high score, successfullycompleting a task in the game, user's “death” in the game or otherevents, namely “game events”, occurring resulting from the user'sinteraction with the game presented on the device 200, as well as gamestatistics, namely “game stats”. Additionally, the game software can usethe API to add, change, remove and annotate the “game events” in realtime according to the user's gameplay experience, for example to providea personalized congratulatory message in the one or more streams beingrecorded in the data memory 280, such editing via the API enables theuser, in a friendly manner, to edit and/or select which parts of thegame video the user wants to share with other parties, namelyspectators; for example, the user can select merely to includehighlights of a game in the one or more streams recorded in the datamemory 280.

Information recorded in the data memory 280 can thus include items asprovided in Table 1. All these items are data linked via time stampssuch that they can be replayed together in a temporally synchronizedmanner. Beneficially, all selection and management of recorded data inthe data memory 280 arising from playing the game on the device 200 ishandled by the aforesaid GESW library components.

TABLE 1 items that are recorded in the data memory 280 during playing ofa game on the device 200. Item Detail UserFace Video stream of theuser's face when playing the game Video on the device 200 Game Videostream of game display as presented on the Video display 230 to the userMix Sounds which the user has selected to be added to the Sound gameplayexperience when present to other users via the server 110 (“ExperienceServer”) Game Sounds which accompanying playing the game, for Soundexample explosions, whooshes, beeps, cries, impact sounds Game Settingsand other control parameters pertaining to Control the game which arecontrolled by the user Game Statistics pertaining to the game beingplayed on the Stat device, for example scores, player performanceparameters UI Data Data pertaining to inputs applied by the user to thedevice 200 when playing the game Game Special events occurring in thegame, for example Events scoring a goal, “killing” an adversary,demolishing a fantasy castle and so forth

Beneficially, the wireless interface (RX/TX) 300 is operable tocommunicate via Wifi or cellular telephone networks, for example 3G- or4G-enabled networks, to other users for sharing gameplay experiences ofthe user.

Referring next to FIG. 3, there is shown examples of some features ofthe aspects of the present disclosure. The game software has twoprincipal output-related functions, namely providing a game view on thedisplay 230 and generating associated audio. The game utilizes a gameengine which computes how different objects of the game are to bepositioned in the game relative to a coordinate system employed by thegame engine, for example a notional Cartesian area or volume in whichthe game is to be accommodated. Moreover, the game engine computes howthe different objects should appear on the coordinate system, andthereby creates a visual representation of the objects of the game, forexample using a contemporary OpenGL API software application, tointerface with the graphics processor unit (GPU) 220. This visualdisplay is stored in a display buffer of the device 200 for presentationon the display 230. Moreover, the rendering engine continues to addvisual elements to this display buffer until an entire graphics scene iscompleted, after which the display buffer is used to displaycorresponding information on the display 230 of the device 200 for thebenefit of the user playing the game. The display buffer can be storedto the Data Memory 280 at the request of the game engine by using theGESW SDK.

In an alternative embodiment, the game engine sends commands to agraphics processor for generating drawings of objects for presentationwhen playing the game on the device 200. Such commands are beneficiallysent using the aforementioned OpenGL API software application, to thegraphics processor unit (GPU) 220, and are stored in the data memory280. Selection of which commands are stored in the data memory 280 isconfigured from the GESW API; thus, a figure to be drawn forpresentation on the display 230 is based on instructions sent from thegame engine. Optionally, the drawing commands and associated parametersare stored in parallel to the data memory 280 of the device 200. Inalternative embodiment game is rendered in OpenGL and either the framebuffer and/or commands are stored in the data memory 280. In someembodiments there can be two modes of recording: 1) a snapshot of thedisplay buffer as captured as it is being drawn (either fully complete,or e.g. without some graphical elements completely drawn) or 2) OpenGLcommands are captured and rerun later for capturing the snapshots of thedisplay buffer.

Beneficially, audio information generated during playing of the game iscaptured from the central processing unit (CPU) 210 or dedicated audiochip and stored in the data memory 280 concurrently when the CPU 210 isplaying the audio during playing of the game.

The GESW API provides a games developer with an opportunity to choosewhich of the games elements, namely as provided in Table 1, are to berecorded in the data memory 280 for sharing later with other users,namely to provide a reconfigurable functionality. Moreover, the GESW APIallows the developer, under program control, to add, remove and changeelements of the gameplay recording in the data memory 280 in real timeas the user plays the game on the device 200, for example for includingpersonalized annotations, markings of certain segments of gameplay withmetadata that can be used to guide further actions, for examplesearching for gameplay experiences, highlighting interesting segments,and so forth. Moreover, the GESW API also enables the developer tospecify different streams generated during playing of a game on thedevice 200 to be recorded as mutually independent streams in the datamemory 280; for example, it is possible to record an actual game view asan example Game Video stream, and for example a toolbar view as anotherGame Video stream, for example for viewing as a third video stream.Moreover, the GESW API can also be configured to allow recording of thestreams into the data memory 280 in such a manner that only someobjects, characters, game structures and similar are stored. Optionally,objects can be saved as drawings, commands or as a stream, for examplefor achieving an enhanced degree of data compression when stored in thedata memory 280. Separation of the different elements, asaforementioned, enables user and developers to select which parts of thegameplay experience are to be watched and/or shared. In FIG. 4, there isillustrated an example of different elements as appreciated by the userwhen playing the game on the device 200. A first element 400 presentedcorresponds to a tool bar providing the user with various options whenplaying the game. In a window 410 of the display, gameplay actions arepresented to the user, for example a first object 420 and a secondobject 430 which mutually interact in a games action space coincidingwith the window 410. There is also provided a statistics window 440 inwhich various statistical information is presented, for example scores.Term stream can refer, but is not limited, to streaming of video, audioor it can also refer to any data which is stored/sent/recorded incertain order. For example game score as function of time can beregarded as stream or for example game events as they take place can beregarded as a stream.

Sharing gameplay experiences will now be described in further detailwith reference to FIG. 5.

Referring next to FIG. 5, a gameplay terminal A, denoted by 500, forexample implemented using the aforementioned device 200, is configuredto send all or some of the content via a communication network 510, forexample a wireless communication network, of a game recorded in datamemory 280 of the terminal A 500 to a game experience sharing service520; the service 520 is implemented with its one or more data servers ata single location, at multiple locations or implemented via a cloudcomputing environment. Optionally, the recording of the game is storedin the one or more data servers of the game experience sharing service520. The recorded game is beneficially streamed or downloaded from thegame experience sharing service 520 to one or more spectator users B,denoted by 530. Users B might have same game as the user of terminal Aor they might have different game/software for receiving/viewing gameexperience of user of the terminal A. In addition the game experiencecan be viewed with standalone application purposed for game experienceviewing. Alternatively game experience could be viewed using web browser(for example using Hyper Text Markup Language 5 or some scriptinglanguage).

The recorded experience uploaded from the gameplay terminal A 500 can bestreamed or downloaded to the one or more spectator users B 530, whereinthe video is transcoded at various bitrates to suit differentcommunication streaming rates pertaining to the one or more spectatorusers B 530, for example of the spectator users B 530 may havehigh-speed optical fibre communication links whereas other of thespectator users B 530 may be employing 3G mobile communication standardsor even older standards which can only support relatively lowerbitrates. Optionally, streaming of the recorded game video may occurfrom the game sharing service to the one or more spectator users B 530in a peer-to-peer manner, thereby reducing streaming demands on the oneor more data servers of the game experience sharing service 520.Optionally, the one or more spectator users B 530 are individuals withtheir own devices 200 which are also capable of uploading gameplayexperiences to the game experience sharing service 520 in a manner asdescribed in foregoing. Thus, optionally, the one or more users B 530have at least one game installed in their game terminals, namely devices200, which also includes aforementioned GESW API components. Said gameused by user B does not have to be same (but can be) as in the terminalA i.e. game sharing experience works across the games and applications.As an example a player, with a game X1 that includes GESW APIcomponents, can share gaming experience, not only to users who are usingthe game of X1, but also to all other games and/or applications (such asX2, X3, Z1, . . . ) that have GESW API and vice versa. Embodiments thusenable to create a network of different games and applications that usethe embedded SDK components (GESW API etc) that provides users anability to share and watch replays from all of the games.

In FIG. 6, there is illustrated an example process for replayingrecorded game playing experiences, namely “gameplay experiences”, asdownloaded from the game experience sharing service 520 for a given userB 530. The device 200 of the given user 530 connects via its wirelessinterface (RX/TX) 300 to the gameplay experience sharing service 520 forreceiving a streamed gameplay experience which is then stored in thedata memory 280 of the device 200 of the given user 530; the streamedgameplay experience can be recorded some time ago at the gameplayexperience sharing service 520, for example a few days prior, or can bestreamed in a substantially real-time from the gameplay experiencesharing service 520. Once the gameplay experienced is buffered in thedata memory 280 of the device 200 of the given user 530, the GESW APIuses content from the data memory 280 to presenting the gameplayexperience to the given user 530. For example, an OpenGL drawing modulepresent in the device 200 of the given user 530 can be used to recreatethe images for the video. Optionally, in the device 200 of the givenuser 530, a whole screen area of the display 230 of the device 200 isutilized for presenting the video of the gameplay experience to thegiven user 530; alternatively, only a portion of the display 230 of thedevice 200 is utilized for presenting the video of the gameplayexperience, thereby allowing other elements to be presented concurrentlyto the given user 530 via the display 230; optionally, the otherelements are user-configurable.

Optionally, the aforesaid GESW API library includes components forreceiving, fetching, playing and recording game playing experiences fromother users. For example, the given user B 530 is able to employ theGESW software to configure to have shown at a top of his/her display 230a UserFace Video of the user A 500; please refer to aforementioned Table1 for further elucidation of “UserFace Video”. Similarly, in areciprocal manner, the user A 500 is able to configure his/her device200 to show an image of the user B 530 on a portion of the display 230of the device 200 of the user A 500. Moreover, when the gameplayexperience is being replayed, it is feasible to include all or some ofthe recorded components of the video as provided in Table 1; forexample, as illustrated in FIG. 7, there is shown a representation ofthe display 230 of a device 200, wherein a tool bar window 600 isincluded on a left-side of the display 230, statistical informationwindow 610 is included along a bottom region of the display 230, and agame-playing region is denoted by 620 wherein game-playing actionsoccur, for example between first and second objects denoted by 630, 630respectively. The given user of the device 200 can employuser-selectable toggle options presented in the tool bar window 600 fordefining a face video view of the gamer denoted by 650 to be partiallyoverlaid onto the game playing region 620. Optionally, the GESW APIpresents the user with a timeline on the display 230 of a given gameplaying experience downloaded from the gameplay experience sharingservice 520, so that the user is able to edit the gameplay experiencevia the display, for example by finger swiping motion applied to a touchscreen sensor of the display 230 to achieve a preferred form of viewedgameplay experience.

Modifications to embodiments of the invention described in the foregoingare possible without departing from the scope of the invention asdefined by the accompanying claims. Expressions such as “including”,“comprising”, “incorporating”, “consisting of”, “have”, “is” used todescribe and claim the aspects of the present disclosure are intended tobe construed in a non-exclusive manner, namely allowing for items,components or elements not explicitly described also to be present.Reference to the singular is also to be construed to relate to theplural. Numerals included within parentheses in the accompanying claimsare intended to assist understanding of the claims and should not beconstrued in any way to limit subject matter claimed by these claims.

1. A system for sharing gameplay experiences between users, comprising:a first gameplay terminal which a first user employs for a firstgameplay activity; a recording device configured to capture and storeone or more individual streams of different elements of the firstgameplay activity on the first gameplay terminal; a camera configured tocapture a video image and a microphone to capture audio of the userduring the first gameplay activity; a second gameplay terminal which asecond user employs for a second gameplay activity, that is differentfrom the first; and computer hardware with a memory in communicationwith a processor, the memory including one or more software productsrecorded on machine-readable data storage media for execution by theprocessor to: select one or more of the individual streams of differentelements of the first gameplay activity on the first gameplay terminalto be captured; store the selected individual streams; detect a requestfor communicating a replay of the first gameplay activity by the secondgameplay terminal; determine which of the stored individual streams arerequested for replay; upload the requested and stored individual streamsand user video image for replay; and enable a user of the secondgameplay terminal to select stored individual streams for replay.
 2. Thesystem as claimed in claim 1, wherein the individual streams ofdifferent elements comprise a userface video stream, a game videostream, a mix sound stream, a game sound stream, a game control stream,a game statistics stream, a user interface data stream or a game eventsstream.
 3. The system as claimed in claim 2, wherein the individualstreams are data linked via time stamps to enable replay of theindividual streams in a temporally synchronized manner.
 4. The system asclaimed in claim 1, wherein the processor is configured to cause thefirst gameplay terminal to communicate the selected individual streamsvia a communication network to a gameplay sharing experience serviceserver arrangement through which the selected individual streams arecommunicated from the first gameplay terminal to one or more recipientgameplay terminals, wherein each of the one or more recipient gameplayterminals can selected different individual streams of the firstgameplay activity to be downloaded.
 5. The system as claimed in claim 4,wherein the first and second gameplay terminals are implemented aswireless-enabled computing devices including one or more of: smarttelephones, laptop computer, personal computers, Pad computers, tabletcomputers, dedicated game playing terminals.
 6. The system as claimed inclaim 1, comprising one or more software components appended to a hostgame software application for providing control to the host gamesoftware application on a real-time basis for recording the first andsecond gameplay activity, wherein the one or more software componentsare implemented as a software development kit (SDK) which includes alibrary of the components.
 7. The system as claimed in claim 6, whereinone or more software components are implemented as a downloadableapplication software library.
 8. The system as claimed in claim 7,wherein one or more software components are implemented via an OpenGLAPI.
 9. The system as claimed in claim 1, wherein the processor isconfigured to enable the first or second gameplay activity, whenreplayed at the terminal, to be user-configurable by selecting among oneor more streams of recorded elements stored in data memory when thefirst or second gameplay activity was recorded prior to distributionwithin the system.
 10. The system as claimed in claim 1, wherein theprocessor is configured to create and store a game video from thecaptured individual streams and a stream of images of the user duringthe first or second gameplay activity.
 11. A software development kit(SDK) recorded on non-transitory machine-readable data storage media,wherein the software development kit includes a library comprising oneor more software components that are incorporated into host gamesoftware; and a processor, the processor configured to executeinstructions stored on the on-transitory machine-readable data storagemedia of the software development kit for implementing the method asclaimed in claim
 12. 12. A method of sharing gameplay experiencesbetween users, wherein the users are arranged to employ gameplayterminals for a gameplay activity, the gameplay terminals comprising amemory with a processor for executing one or more machine readableinstructions recorded on non-transitory machine-readable data storagemedia, wherein the method, when the machine readable instructions areexecuted by the processor, comprises: causing the processor to captureindividual streams of gameplay activity on the first gameplay terminal;capturing a video image of the user during the first gameplay activity;selecting one or more of the individual streams of the first gameplayactivity on the first gameplay terminal; storing the selected individualstreams; detecting a request from a second gameplay terminal forcommunicating a replay of the first gameplay; determining which of thestored individual streams are requested for the replay; and transmittingthe requested and stored individual streams for replay at the secondgameplay terminal.
 13. The method as claimed in claim 12, wherein theindividual streams comprise a userface video stream, a game videostream, a mix sound stream, a game sound stream, a game control stream,a game statistics stream, a user interface data stream or a game eventsstream.
 14. The method as claimed in claim 13, wherein the machinereadable instructions, when executed by the processor are configured tocause the processor to link the individual streams via time stamps toenable replay of the individual streams in a temporally synchronizedmanner.
 15. The method as claimed in claim 12, wherein the machinereadable instructions, when executed by the processor are configured tocause the first gameplay terminals to communicate the requested andstored individual streams via a communication network to a game sharingexperience service server arrangement through which the game sharingexperience is communicated from the first gameplay terminal to one ormore recipient gameplay terminals, wherein each of the one or morerecipient gameplay terminals can select different individual streams ofthe first gameplay activity to be communicated.
 16. The method asclaimed in claim 12, wherein the gameplay terminals are implemented aswireless-enabled computing devices including one or more of: smarttelephones, laptop computer, personal computers, Pad computers, tabletcomputers, dedicated game playing terminals.
 17. The method as claimedin claim 12, wherein the machine readable instructions recorded onnon-transitory machine-readable data storage media are implemented as asoftware development kit (SDK) comprising a library of the softwarecomponents.
 18. The method as claimed in claim 12, wherein the machinereadable instructions recorded on non-transitory machine-readable datastorage media are implemented as a downloadable application softwarelibrary.
 19. The method as claimed in claim 18, wherein the machinereadable instructions recorded on non-transitory machine-readable datastorage media are implemented via an OpenGL API.
 20. The method asclaimed in claim 12, wherein the machine readable instructions recordedon non-transitory machine-readable data storage media, when executed bythe processor, are configured to cause the processor to enable theselected individual streams to be replayed at one or more of thegameplay terminals to be user-configurable by selecting among one ormore streams of recorded elements stored in data memory when thegameplay activity was recorded prior to distribution within the system.21. The system of claim 1, wherein the individual streams of differentelements of the game play activity are recorded as mutually independentstreams.
 22. The system of claim 21, wherein a game video streamcomprises one or more of an actual game view and a toolbar view.
 23. Thesystem of claim 21, wherein the video image of the user is captured as aseparate individual stream concurrently with the gameplay activity andthe capture of other individual streams of different elements.